home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Bavarian / Bavarian #129 (19xx)(APS Electronic).zip / Bavarian #129 (19xx)(APS Electronic).adf / MAKE.APAINT.MENUS < prev    next >
Text File  |  1985-12-20  |  17KB  |  484 lines

  1. 10    '    *************************
  2. 20    '    *   MAKE.APAINT.MENUS   *
  3. 30    '    *************************
  4. 40    '
  5. 50    '       COPYRIGHT (C) 1985
  6. 60    '          COLIN FRENCH
  7. 70    '
  8. 80    ' Although this program is copyrighted,
  9. 90    ' please feel free to make copies for
  10. 100   ' friends or user groups, so long as
  11. 110   ' it is not done for profit. All other
  12. 120   ' rights are reserved by the author.
  13. 130   '
  14. 140   ' This program creates the drop-down
  15. 150   ' menus used by the sketching program
  16. 160   ' called 'APAINT'.  These are drawn
  17. 170   ' one at a time and saved to disk as
  18. 180   ' binary files.  To pass on a copy of
  19. 190   ' APAINT, copy this file too and then
  20. 200   ' run it to create the menus.  All files
  21. 210   ' should be put on the same disk.
  22. 220   '
  23. 230   ' If you make any improvements or find
  24. 240   ' any bugs, I would like to hear about
  25. 250   ' them.  Write:
  26. 260   '                Colin French
  27. 270   '                2144 Iris St.
  28. 280   '                Ottawa, Ontario  K2C 1B3
  29. 290   '
  30. 300   '
  31. 310   '    +----------------------+
  32. 320   '    |    INITIALIZATION    |
  33. 330   '    +----------------------+
  34. 340   '
  35. 350   SCREEN 0,1:FONT 1
  36. 360   GRAPHIC 1:DRAWMODE 0
  37. 370   ASK RGB 0,STDRED%,STDGRN%,STDBLU%
  38. 380   RGB 0,0,0,0:RGB 1,0,13,0
  39. 390   DIM PROJMENU%(177),TOOLMENU%(1289),CLR1MENU%(1010)
  40. 400   DIM CLR2MENU%(377),EXTRMENU%(106),UNDOMENU%(29)
  41. 410   '
  42. 420   '    +--------------------+
  43. 430   '    |    PROJECT MENU    |
  44. 440   '    +--------------------+
  45. 450   '
  46. 460   PENA 1:OUTLINE 0:BOX(0,0;79,69),1
  47. 470   PENA 0:DRAW(3,52 TO 76,52)
  48. 480   PRINT AT(6,10);"New";AT(6,19);"Open";AT(6,28);"Save"
  49. 490   PRINT AT(6,37);"Save as";AT(6,46);"Clear";AT(6,63);"Quit"
  50. 500   DRAW(64,37 TO 65,37):DRAW(69,37 TO 70,37):DRAW(74,37 TO 75,37)
  51. 510   GOSUB 4700   'check if OK to save to disk.
  52. 520   IF Z$="N" THEN 550
  53. 530   SSHAPE(0,0;80,70),PROJMENU%()
  54. 540   BSAVE "PROJMENU",VARPTR(PROJMENU%(0)),708
  55. 550   '
  56. 560   '    +------------------+
  57. 570   '    |    TOOLS MENU    |
  58. 580   '    +------------------+
  59. 590   '
  60. 600   '    BASIC MENU
  61. 610   '
  62. 620   SCNCLR:PENA 1:BOX(8,0;295,142),1
  63. 630   '
  64. 640   '    FRAMES FOR ICONS
  65. 650   '
  66. 660   PENO 0:PENA 0:OUTLINE 1
  67. 670   FOR N=0 TO 11:BOX(13+N*23,14;36+N*23,37):NEXT
  68. 680   FOR N=0 TO 11:BOX(13+N*23,52;36+N*23,75):NEXT
  69. 690   FOR N=0 TO 1:FOR N2=0 TO 5
  70. 700   BOX(13+N2*46,90+N*23;59+N2*46,113+N*23)
  71. 710   NEXT N2,N
  72. 720   '
  73. 730   '    SHADOWS UNDER GROUPS
  74. 740   '
  75. 750   DRAW(15,38 TO 290,38 TO 290,15):DRAW(291,15 TO 291,38)
  76. 760   DRAW(15,76 TO 290,76 TO 290,53):DRAW(291,53 TO 291,76)
  77. 770   DRAW(15,137 TO 290,137 TO 290,91):DRAW(291,91 TO 291,137)
  78. 780   '
  79. 790   '    DRAWING TOOL ICONS
  80. 800   '
  81. 810   '    FREEHAND
  82. 820   DRAW(21,18 TO 25,27):DRAW(22,19 TO 26,28):DRAW(22,18 TO 22,17 TO 24,17)
  83. 830   DRAW(24,17 TO 28,26):DRAW(24,18 TO 27,25)
  84. 840   DRAW(26,27 TO 26,28):DRAW(27,27 TO 27,29):DRAW(28,27 TO 28,30)
  85. 850   DRAW(30,30 TO 31,30 TO 33,32 TO 32,33 TO 29,34 TO 21,32 TO 16,34)
  86. 860   '
  87. 870   '    SINGLE LINE
  88. 880   DRAW(39,22 TO 41,22):DRAW(40,21 TO 40,23)
  89. 890   DRAW(42,23 TO 53,28)
  90. 900   DRAW(54,29 TO 56,29):DRAW(55,28 TO 55,30)
  91. 910   '
  92. 920   '    CONNECTED LINES
  93. 930   DRAW(66,18 TO 68,18):DRAW(67,17 TO 67,19)
  94. 940   DRAW(69,19 TO 76,22)
  95. 950   DRAW(77,23 TO 79,23):DRAW(78,22 TO 78,24)
  96. 960   DRAW(76,24 TO 65,27)
  97. 970   DRAW(62,28 TO 64,28):DRAW(63,27 TO 63,29)
  98. 980   DRAW(65,29 TO 72,32)
  99. 990   DRAW(73,33 TO 75,33):DRAW(74,32 TO 74,34)
  100. 1000  '
  101. 1010  '    FUTURE ICON
  102. 1020  '
  103. 1030  '
  104. 1040  '    TEXT
  105. 1050  DRAW(108,32 TO 113,32):DRAW(119,32 TO 125,32)
  106. 1060  DRAW(110,31 TO 120,21):DRAW(111,31 TO 121,21)
  107. 1070  DRAW(115,28 TO 120,28):BOX(121,20;123,31),1
  108. 1080  '
  109. 1090  '    FILL
  110. 1100  DRAW(132,27 TO 137,32 TO 144,25 TO 139,20 TO 132,27)
  111. 1110  DRAW(133,27 TO 137,31 TO 143,25 TO 139,21 TO 133,27)
  112. 1120  DRAW(139,17 TO 139,23):DRAW(139,25):DRAW(144,24)
  113. 1130  DRAW(144,33 TO 144,34):DRAW(145,25 TO 145,34)
  114. 1140  DRAW(146,27 TO 146,34):DRAW(147,31 TO 147,34):DRAW(148,34)
  115. 1150  '
  116. 1160  '    BOX & FILLED BOX
  117. 1170  BOX(156,21;169,30)
  118. 1180  BOX(179,21;192,30),1
  119. 1190  '
  120. 1200  '    OVAL & FILLED OVAL
  121. 1210  CIRCLE(208,25),7,0.6
  122. 1220  CIRCLE(231,25),7,0.6:PAINT(231,25)
  123. 1230  '
  124. 1240  '    AUSTRALIA & FILLED AUS.
  125. 1250  X=248:Y=20:GOSUB 1280
  126. 1260  X=271:Y=20:GOSUB 1280
  127. 1270  PAINT(280,26):GOTO 1320
  128. 1280  'DRAW AUSTRALIA SUB
  129. 1290  DRAW(X+7,Y TO X+7,Y+3 TO X,Y+6 TO X+2,Y+11)
  130. 1300  DRAW(TO X+6,Y+7 TO X+13,Y+10 TO X+13,Y+6 TO X+7,Y)
  131. 1310  RETURN
  132. 1320  '
  133. 1330  '    DRAW BRUSH SHAPES
  134. 1340  DRAW(24,63)
  135. 1350  DRAW(47,63 TO 48,63)
  136. 1360  BOX(70,63;71,64)
  137. 1370  BOX(92,63;95,64):BOX(93,62;94,65)
  138. 1380  BOX(114,61;118,65),1
  139. 1390  BOX(136,62;143,65),1:BOX(137,61;142,66):BOX(138,60;141,67)
  140. 1400  DRAW(154,63;170,63)
  141. 1410  DRAW(180,69;191,58)
  142. 1420  DRAW(208,56;208,70)
  143. 1430  DRAW(230,55;232,55):DRAW(230,63;232,63):DRAW(230,71;232,71)
  144. 1440  DRAW(252,64):DRAW(253,61):DRAW(254,63)
  145. 1450  DRAW(254,65):DRAW(256,62):DRAW(257,64)
  146. 1460  DRAW(272,62):DRAW(273,60):DRAW(274,64)
  147. 1470  DRAW(275,61):DRAW(275,66):DRAW(276,59)
  148. 1480  DRAW(276,63):DRAW(277,67):DRAW(278,60)
  149. 1490  DRAW(278,65):DRAW(279,62):DRAW(281,61)
  150. 1500  DRAW(281,64)
  151. 1510  '
  152. 1520  '    EDITING ICONS
  153. 1530  '
  154. 1540  '    EDIT FRAMES
  155. 1550  X=18:Y=97:GOSUB 1620
  156. 1560  X=170:Y=99:GOSUB 1620
  157. 1570  X=200:Y=97:GOSUB 1620:X=272:GOSUB 1620
  158. 1580  X=16:Y=120:GOSUB 1620:X=42:GOSUB 1620
  159. 1590  X=75:Y=117:GOSUB 1620
  160. 1600  X=119:Y=120:GOSUB 1620
  161. 1610  X=161:Y=116:GOSUB 1620:GOTO 1670
  162. 1620  DRAW(X+1,Y TO X,Y TO X,Y+2):DRAW(X,Y+4 TO X,Y+6)
  163. 1630  DRAW(X,Y+8 TO X,Y+9 TO X+2,Y+9):DRAW(X+5,Y+9 TO X+6,Y+9)
  164. 1640  DRAW(X+9,Y+9 TO X+10,Y+9):DRAW(X+13,Y+9 TO X+14,Y+9 TO X+14,Y+7)
  165. 1650  DRAW(X+14,Y+5 TO X+14,Y+3):DRAW(X+14,Y+1 TO X+14,Y TO X+12,Y)
  166. 1660  DRAW(X+9,Y TO X+8,Y):DRAW(X+5,Y TO X+4,Y):RETURN
  167. 1670  '
  168. 1680  '    CUT
  169. 1690  FOR N=0 TO 5:DRAW(77+N*2,93+N TO 79+N*2,93+N):NEXT
  170. 1700  FOR N=0 TO 5:DRAW(77+N*2,101-N TO 79+N*2,101-N):NEXT
  171. 1710  DRAW(90,93 TO 92,93):DRAW(89,94):DRAW(92,94):DRAW(88,95 TO 91,95)
  172. 1720  DRAW(88,99 TO 91,99):DRAW(89,100):DRAW(92,100):DRAW(90,101 TO 92,101)
  173. 1730  DRAW(79,97):DRAW(76,97 TO 75,97):DRAW(72,97 TO 71,97 TO 71,99)
  174. 1740  DRAW(71,101 TO 71,103):DRAW(71,105 TO 71,106 TO 73,106)
  175. 1750  DRAW(76,106 TO 77,106):DRAW(80,106 TO 81,106)
  176. 1760  DRAW(84,106 TO 85,106 TO 85,104):DRAW(85,102)
  177. 1770  '
  178. 1780  '    COPY
  179. 1790  FOR N=0 TO 4:DRAW(32+N*2,93+N*2):NEXT
  180. 1800  FOR N=0 TO 3:DRAW(34+N*2,110-N*2):NEXT
  181. 1810  DRAW(42,100 TO 42,105):DRAW(43,99 TO 48,99):DRAW(43,106 TO 48,106)
  182. 1820  BOX(44,100;45,105):BOX(48,97;53,107)
  183. 1830  DRAW(47,97 TO 47,95 TO 48,95 TO 48,94 TO 51,94)
  184. 1840  DRAW(51,95 TO 53,95 TO 53,96)
  185. 1850  '
  186. 1860  '    PASTE
  187. 1870  DRAW(114,97 TO 113,97 TO 113,99):DRAW(113,101 TO 113,103)
  188. 1880  DRAW(113,105 TO 113,106 TO 115,106):DRAW(118,106 TO 119,106)
  189. 1890  DRAW(122,106 TO 124,106 TO 124,104 TO 122,102 TO 124,102)
  190. 1900  DRAW(125,105 TO 126,104 TO 126,103 TO 127,102 TO 127,100)
  191. 1910  DRAW(125,101 TO 126,101):DRAW(127,98 TO 127,97 TO 125,97)
  192. 1920  DRAW(122,97 TO 121,97):DRAW(118,97 TO 117,97)
  193. 1930  AREA(127,105 TO 132,105 TO 132,110):DRAW(131,104 TO 133,106)
  194. 1940  DRAW(132,104 TO 138,98):DRAW(133,105 TO 139,99)
  195. 1950  DRAW(136,95 TO 142,101):DRAW(137,94 TO 138,94 TO 143,99 TO 143,100)
  196. 1960  '
  197. 1970  '    MAKE BRUSH
  198. 1980  FOR Y=0 TO 2:FOR X=0 TO 3
  199. 1990  DRAW(162+X*5+Y*2,95+Y):NEXT X,Y
  200. 2000  FOR Y=0 TO 3:FOR X=0 TO 3
  201. 2010  DRAW(162+X*2,95+Y*3+X):NEXT X,Y
  202. 2020  '
  203. 2030  '    DRAW DISKS
  204. 2040  X=226:Y=94:GOSUB 2060
  205. 2050  X=246:GOSUB 2060:GOTO 2090
  206. 2060  BOX(X,Y;X+14,Y+14):BOX(X+2,Y;X+12,Y+6)
  207. 2070  DRAW(X+5,Y+13 TO X+5,Y+10):DRAW(X+6,Y+9 TO X+8,Y+9)
  208. 2080  DRAW(X+9,Y+10 TO X+9,Y+13):RETURN
  209. 2090  '
  210. 2100  '    DRAW ARROWS
  211. 2110  X=217:Y=101:GOSUB 2130:X=263:GOSUB 2130
  212. 2120  X=33:Y=124:GOSUB 2130:GOTO 2160
  213. 2130  DRAW(X,Y TO X+3,Y)
  214. 2140  AREA(X+4,Y-2 TO X+4,Y+2 TO X+6,Y)
  215. 2150  RETURN
  216. 2160  '
  217. 2170  '    INVERT
  218. 2180  BOX(25,122;28,127),1
  219. 2190  AREA(18,127 TO 18,122 TO 23,122)
  220. 2200  AREA(45,127 TO 50,127 TO 50,122)
  221. 2210  '
  222. 2220  '    FLIP HORIZ
  223. 2230  DRAW(82,116 TO 82,131):DRAW(76,128 TO 79,128 TO 79,130)
  224. 2240  DRAW(78,129 TO 77,129 TO 76,130 TO 76,131 TO 77,132 TO 78,132)
  225. 2250  DRAW(79,133 TO 85,133 TO 86,132 TO 87,132 TO 88,131 TO 88,130)
  226. 2260  DRAW(87,129 TO 86,129)
  227. 2270  '
  228. 2280  '    FLIP VERT
  229. 2290  DRAW(116,125 TO 144,125):DRAW(137,119 TO 137,121 TO 139,121)
  230. 2300  DRAW(138,120 TO 139,119 TO 140,119 TO 141,120 TO 141,121)
  231. 2310  DRAW(142,122 TO 142,128 TO 141,129 TO 141,130)
  232. 2320  DRAW(140,131 TO 139,131 TO 138,130 TO 138,129)
  233. 2330  '
  234. 2340  '    STRETCH
  235. 2350  DRAW(161,128 TO 161,129):DRAW(161,131 TO 161,133 TO 162,133)
  236. 2360  FOR N=0 TO 4:DRAW(164+N*4,133 TO 165+N*4,133):NEXT
  237. 2370  DRAW(184,133 TO 186,133 TO 186,132):DRAW(178,116)
  238. 2380  FOR N=0 TO 2:DRAW(186,120+N*4 TO 186,122+N*4):NEXT
  239. 2390  DRAW(186,118 TO 186,116 TO 185,116):DRAW(182,116 TO 181,116)
  240. 2400  DRAW(178,126 TO 182,130):DRAW(177,127 TO 177,125 TO 179,125)
  241. 2410  DRAW(181,131 TO 183,131 TO 183,129)
  242. 2420  '
  243. 2430  '    FUTURE ROTATE ICON?
  244. 2440  '
  245. 2450  '
  246. 2460  '    MAGNIFY
  247. 2470  BOX(262,116;267,117):BOX(260,117;261,118):BOX(268,117;269,118)
  248. 2480  DRAW(259,118 TO 259,119 TO 258,119 TO 258,124 TO 259,124 TO 259,125)
  249. 2490  DRAW(270,118 TO 270,119 TO 271,119 TO 271,124 TO 270,124 TO 270,125)
  250. 2500  BOX(260,125;261,126):BOX(262,126;267,127):BOX(268,125;269,126)
  251. 2510  DRAW(270,126 TO 274,130):DRAW(270,127 TO 274,131)
  252. 2520  DRAW(268,127 TO 273,132):DRAW(268,128 TO 272,132)
  253. 2530  DRAW(273,131):DRAW(260,120 TO 260,122):BOX(263,120;265,122),1
  254. 2540  BOX(268,121;269,122):DRAW(268,120)
  255. 2542  FOR N=0 TO 2:DRAW(252+N*2,121):DRAW(273+N*2,121):NEXT
  256. 2560  '
  257. 2570  '    LABELS
  258. 2580  PRINT AT(13,11);"Drawing Tools:"
  259. 2590  PRINT AT(13,49);"Brush Shapes:"
  260. 2600  PRINT AT(13,87);"Editing Tools:"
  261. 2610  GOSUB 4700    'OK TO SAVE?
  262. 2620  IF Z$="N" THEN 2650
  263. 2630  SSHAPE(8,0;296,143),TOOLMENU%()
  264. 2640  BSAVE "TOOLMENU",VARPTR(TOOLMENU%(0)),5156
  265. 2650  '
  266. 2660  '    +----------------------------+
  267. 2670  '    |    DEFINE FILL PATTERNS    |
  268. 2680  '    +----------------------------+
  269. 2690  '
  270. 2700  DIM PAT0%(1),PAT1%(3),PAT2%(1),PAT3%(1),PAT4%(1),PAT5%(3)
  271. 2710  DIM PAT6%(3),PAT7%(3),PAT8%(15),PAT9%(15),PAT10%(15)
  272. 2720  '
  273. 2730  '    PATTERN 0
  274. 2740  PAT0%(0)=&B1111111111111111
  275. 2750  PAT0%(1)=&B1111111111111111
  276. 2760  '
  277. 2770  '    PATTERN 1
  278. 2780  PAT1%(0)=&B1011101110111011
  279. 2790  PAT1%(1)=&B1111111111111111
  280. 2800  PAT1%(2)=&B1110111011101110
  281. 2810  PAT1%(3)=&B1111111111111111
  282. 2820  '
  283. 2830  '    PATTERN 2
  284. 2840  PAT2%(0)=&B1011101110111011
  285. 2850  PAT2%(1)=&B1110111011101110
  286. 2860  '
  287. 2870  '    PATTERN 3
  288. 2880  PAT3%(0)=&B1010101010101010
  289. 2890  PAT3%(1)=&B0101010101010101
  290. 2900  '
  291. 2910  '    PATTERN 4
  292. 2920  PAT4%(0)=&B0100010001000100
  293. 2930  PAT4%(1)=&B0001000100010001
  294. 2940  '
  295. 2950  '    PATTERN 5
  296. 2960  PAT5%(0)=&B0100010001000100
  297. 2970  PAT5%(1)=&B0000000000000000
  298. 2980  PAT5%(2)=&B0001000100010001
  299. 2990  PAT5%(3)=&B0000000000000000
  300. 3000  '
  301. 3010  '    PATTERN 6
  302. 3020  PAT6%(0)=&B1100110011001100
  303. 3030  PAT6%(1)=&B1001100110011001
  304. 3040  PAT6%(2)=&B0011001100110011
  305. 3050  PAT6%(3)=&B0110011001100110
  306. 3060  '
  307. 3070  '    PATTERN 7
  308. 3080  PAT7%(0)=&B0010001000100010
  309. 3090  PAT7%(1)=&B0001000100010001
  310. 3100  PAT7%(2)=&B1000100010001000
  311. 3110  PAT7%(3)=&B0100010001000100
  312. 3120  '
  313. 3130  '    PATTERN 8
  314. 3140  PAT8%(0)=&B0000010100000101
  315. 3150  PAT8%(1)=&B0000101000001010
  316. 3160  PAT8%(2)=&B0001110100011101
  317. 3170  PAT8%(3)=&B0011111000111110
  318. 3180  PAT8%(4)=&B0111111101111111
  319. 3190  PAT8%(5)=&B0011111000111110
  320. 3200  PAT8%(6)=&B0101110001011100
  321. 3210  PAT8%(7)=&B0010100000101000
  322. 3220  PAT8%(8)=&B0101000001010000
  323. 3230  PAT8%(9)=&B1010000010100000
  324. 3240  PAT8%(10)=&B1101000111010001
  325. 3250  PAT8%(11)=&B1110001111100011
  326. 3260  PAT8%(12)=&B1111011111110111
  327. 3270  PAT8%(13)=&B1110001111100011
  328. 3280  PAT8%(14)=&B1100010111000101
  329. 3290  PAT8%(15)=&B1000001010000010
  330. 3300  '
  331. 3310  '    PATTERN 9
  332. 3320  PAT9%(0)=&B0000101111011100
  333. 3330  PAT9%(1)=&B0001011001101110
  334. 3340  PAT9%(2)=&B1110110000110111
  335. 3350  PAT9%(3)=&B1110100011010011
  336. 3360  PAT9%(4)=&B1110100111010011
  337. 3370  PAT9%(5)=&B1110110110110011
  338. 3380  PAT9%(6)=&B1111011001100011
  339. 3390  PAT9%(7)=&B0011101111000100
  340. 3400  PAT9%(8)=&B1101110000001011
  341. 3410  PAT9%(9)=&B0110111000010110
  342. 3420  PAT9%(10)=&B0011011111101100
  343. 3430  PAT9%(11)=&B1101001111101000
  344. 3440  PAT9%(12)=&B1101001111101001
  345. 3450  PAT9%(13)=&B1011001111101101
  346. 3460  PAT9%(14)=&B0110001111110110
  347. 3470  PAT9%(15)=&B1100010000111011
  348. 3480  '
  349. 3490  '    PATTERN 10
  350. 3500  PAT10%(0) =&B1111111111011111
  351. 3510  PAT10%(1) =&B1111111111011111
  352. 3520  PAT10%(2) =&B0000000001011100
  353. 3530  PAT10%(3) =&B1111111111011111
  354. 3540  PAT10%(4) =&B1111111111011111
  355. 3550  PAT10%(5) =&B1111111111011111
  356. 3560  PAT10%(6) =&B0101110001011100
  357. 3570  PAT10%(7) =&B0101110001011100
  358. 3580  PAT10%(8) =&B0101110001011100
  359. 3590  PAT10%(9) =&B1101111111111111
  360. 3600  PAT10%(10)=&B0101110000000000
  361. 3610  PAT10%(11)=&B1101111111111111
  362. 3620  PAT10%(12)=&B1101111111111111
  363. 3630  PAT10%(13)=&B1101111111111111
  364. 3640  PAT10%(14)=&B0101110001011100
  365. 3650  PAT10%(15)=&B0101110001011100
  366. 3660  '
  367. 3670  '    +--------------------------+
  368. 3680  '    |    COLOR MENU -PART 1    |
  369. 3690  '    +--------------------------+
  370. 3700  '
  371. 3710  '    BASIC BOXES
  372. 3720  SCNCLR:PENA 1:PENO 1
  373. 3730  BOX(8,0;295,111),1
  374. 3740  PENA 0:PENO 0
  375. 3750  BOX(13,14;72,75)
  376. 3760  BOX(81,14;162,47),1:BOX(209,14;290,47),1
  377. 3770  BOX(96,50;162,75),1:BOX(224,50;290,75),1
  378. 3780  BOX(171,34;200,61),1:BOX(91,86;290,106),1
  379. 3790  BOX(8,80;180,81):BOX(190,80;296,81)
  380. 3800  '
  381. 3810  '    ARROWS
  382. 3820  DRAW(167,20 TO 180,20 TO 180,30)
  383. 3830  DRAW(178,28 TO 182,28):DRAW(179,29 TO 181,29)
  384. 3840  DRAW(189,28 TO 193,28):DRAW(190,29 TO 192,29)
  385. 3850  DRAW(191,30 TO 191,20 TO 204,20)
  386. 3860  DRAW(185,65 TO 185,83)
  387. 3870  DRAW(183,67 TO 187,67):DRAW(184,66 TO 186,66)
  388. 3880  '
  389. 3890  '    LABELS
  390. 3900  PRINT AT(13,10);"COLOR:";AT(82,10);"Foreground";AT(210,10);"Background"
  391. 3910  PRINT AT(19,27);"Copy";AT(19,35);"Range";AT(19,43);"Undo"
  392. 3920  PRINT AT(19,51);"Normal";AT(19,59);"Save";AT(19,67);"Load"
  393. 3930  PRINT AT(84,57);"R";AT(84,65);"G";AT(84,73);"B"
  394. 3940  PRINT AT(212,57);"R";AT(212,65);"G";AT(212,73);"B"
  395. 3948  PENA 1
  396. 3950  PRINT AT(282,21);"T";AT(282,29);"R";AT(282,37);"A";AT(282,45);"N"
  397. 3952  PENA 0
  398. 3960  PRINT AT(13,92);"PATTERN:"
  399. 3970  '
  400. 3980  '    PATTERNS
  401. 3990  PENA 1:FOR N=0 TO 10
  402. 4000  ON N+1 GOSUB 4030,4040,4050,4060,4070,4080,4090,4100,4110,4120,4130
  403. 4010  BOX(93+N*18,88;108+N*18,104),1
  404. 4020  NEXT:PATTERN 2,PAT0%():GOTO 4140
  405. 4030  PATTERN 2,PAT0%():RETURN
  406. 4040  PATTERN 4,PAT1%():RETURN
  407. 4050  PATTERN 2,PAT2%():RETURN
  408. 4060  PATTERN 2,PAT3%():RETURN
  409. 4070  PATTERN 2,PAT4%():RETURN
  410. 4080  PATTERN 4,PAT5%():RETURN
  411. 4090  PATTERN 4,PAT6%():RETURN
  412. 4100  PATTERN 4,PAT7%():RETURN
  413. 4110  PATTERN 16,PAT8%():RETURN
  414. 4120  PATTERN 16,PAT9%():RETURN
  415. 4130  PATTERN 16,PAT10%():RETURN
  416. 4140  '
  417. 4150  GOSUB 4700
  418. 4160  IF Z$="N" THEN 4190
  419. 4170  SSHAPE(8,0;296,112),CLR1MENU%()
  420. 4180  BSAVE "CLR1MENU",VARPTR(CLR1MENU%(0)),4040
  421. 4190  '
  422. 4200  '    +--------------------------+
  423. 4210  '    |    COLOR MENU -PART 2    |
  424. 4220  '    +--------------------------+
  425. 4230  '
  426. 4240  SCREEN 0,5:OUTLINE 0
  427. 4250  FOR X=0 TO 7:FOR Y=0 TO 3
  428. 4260  PENA X+Y*8
  429. 4270  BOX(83+X*9,16+Y*8;89+X*9,21+Y*8),1
  430. 4280  NEXT Y,X
  431. 4290  GOSUB 4700
  432. 4300  IF Z$="N" THEN 4330
  433. 4310  SSHAPE(82,16;153,46),CLR2MENU%()
  434. 4320  BSAVE "CLR2MENU",VARPTR(CLR2MENU%(0)),1508
  435. 4330  '
  436. 4340  '    +-------------------+
  437. 4350  '    |    EXTRAS MENU    |
  438. 4360  '    +-------------------+
  439. 4370  '
  440. 4380  SCREEN 0,1:GRAPHIC 1:DRAWMODE 0:PENA 1:BOX(176,0;299,25),1
  441. 4390  PENA 0
  442. 4400  PRINT AT(182,10);"Information"
  443. 4410  PRINT AT(182,19);"Copying APaint"
  444. 4420  GOSUB 4700
  445. 4430  IF Z$="N" THEN 4460
  446. 4440  SSHAPE(176,0;300,26),EXTRMENU%()
  447. 4450  BSAVE "EXTRMENU",VARPTR(EXTRMENU%(0)),424
  448. 4460  '
  449. 4470  '    +-----------------+
  450. 4480  '    |    UNDO MENU    |
  451. 4490  '    +-----------------+
  452. 4500  '
  453. 4510  SCNCLR:PENA 1
  454. 4520  BOX(224,0;271,17),1
  455. 4530  PENA 0:PRINT AT(232,12);"Undo"
  456. 4540  GOSUB 4700
  457. 4550  IF Z$<>"Y" THEN 4580
  458. 4560  SSHAPE(224,0;272,18),UNDOMENU%()
  459. 4570  BSAVE "UNDOMENU",VARPTR(UNDOMENU%(0)),116
  460. 4580  '    All done!
  461. 4590  '
  462. 4600  '
  463. 4610  '    +--------------------------------+
  464. 4620  '    |    CLEAN UP BEFORE QUITTING    |
  465. 4630  '    +--------------------------------+
  466. 4640  '
  467. 4650  RGB 0,STDRED%,STDGRN%,STDBLU%:RGB 1,0,0,0
  468. 4660  SCREEN 1,4:FONT 2
  469. 4670  GRAPHIC 0:DRAWMODE 1
  470. 4680  SCNCLR
  471. 4690  END
  472. 4700  '
  473. 4710  '    +-----------------------------------+
  474. 4720  '    |    CHECK IF OK TO SAVE TO DISK    |
  475. 4730  '    +-----------------------------------+
  476. 4740  '
  477. 4750  PENA 1:PRINT AT(0,186);"Save to disk? (Y/N) ";
  478. 4760  GETKEY Z$
  479. 4770  IF Z$="y" OR Z$="Y" THEN Z$="Y":GOTO 4800
  480. 4780  IF Z$="n" OR Z$="N" THEN Z$="N":GOTO 4800
  481. 4790  GOTO 4760
  482. 4800  PENA 0:BOX(0,180;170,188),1
  483. 4810  RETURN
  484.